from matplotlib import pyplot as plt
from camera_calibration import test_data

data = test_data()
print(data)

plt.figure(figsize=(8, 6))  # 设置画布大小
ax = plt.axes(projection='3d')  # 设置三维轴
# plt.xticks(range(11))  # 设置 x 轴坐标
plt.rcParams.update({'font.family': 'Times New Roman'})
plt.rcParams.update({'font.weight': 'normal'})
plt.rcParams.update({'font.size': 20})
plt.xlabel('X')
plt.ylabel('Y', rotation=38)  # y 轴名称旋转 38 度
ax.set_zlabel('Z')  # 因为 plt 不能设置 z 轴坐标轴名称，所以这里只能用 ax 轴来设置（当然，x 轴和 y 轴的坐标轴名称也可以用 ax 设置）
ax.set_xlim([-240, 220])
ax.set_ylim([-10, 10])
ax.set_zlim([0, 40])
ax.scatter3D(data[0], data[1], data[2])  # 三个数组对应三个维度（三个数组中的数一一对应）

# plt.savefig('3D.jpg', bbox_inches='tight', dpi=2400)  # 保存图片，如果不设置 bbox_inches='tight'，保存的图片有可能显示不全
plt.show()
